using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;

namespace GridControl
{
    /// <summary>
    /// Enum to define the type of the menuitem
    /// </summary>
    public enum MenuType
    {
        /// <summary>
        /// The menu has a checkbox and a text
        /// </summary>
        CheckItem=0,
        /// <summary>
        /// The menu displays a color picker
        /// </summary>
        ColorItem=1,
        /// <summary>
        /// default menu
        /// </summary>
        TextItem=2,
        /// <summary>
        /// The item is separator
        /// </summary>
        Separator=3,
        /// <summary>
        /// The menu displays a date picker
        /// </summary>
        DateItem=4
    }
    /// <summary>
    ///  Represents a menu item
    /// </summary>
    [ToolboxItem(false)]
    public class MenuItem
    {
        private bool _isChecked;

        /// <summary>
        /// Gets or sets a value indicating whether the menu is checked(Check item menu only).
        /// </summary>
        /// <value>
        /// 	<c>true</c> if the menu is checked; otherwise, <c>false</c>.
        /// </value>
        public bool IsChecked
        {
            get { return _isChecked; }
            set { _isChecked = value; }
        }
        private string _text;

        /// <summary>
        /// Gets or sets the text of the menu.
        /// </summary>
        /// <value>The text.</value>
        public string Text
        {
            get { return _text; }
            set { _text = value; }
        }
        private string _icon;
        /// <summary>
        /// The path to an icon to display in 
        /// this menu item defaults to no icon
        /// </summary>
        public string icon
        {
            get { return _icon; }
            set { _icon = value; }
        }
        private string _id;

        /// <summary>
        /// The id of the menu
        /// </summary>
        /// <value>The id.</value>
        public string Id
        {
            get { return _id; }
            set { _id = value; }
        }
        private string _OnClientClick;
        /// <summary>
        /// Name of the javascript function to be fired 
        /// on the item click(optional)
        /// </summary>
        public string OnClientClick
        {
            get { return _OnClientClick; }
            set { _OnClientClick = value; }
        }
        private MenuType _itemType;
        /// <summary>
        /// The type of the menu item
        /// </summary>
        public MenuType ItemType
        {
            get { return _itemType; }
            set { _itemType = value; }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="T:MenuItem"/> class.
        /// </summary>
        public MenuItem()
        {
            _itemType = MenuType.TextItem;
        }

       
    }
}
